home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Painter 5.0.3
/
PAINTER.iso
/
mac
/
Art Gallery
/
START.STA
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
UltraCard Stack
|
1997-02-18
|
220.0 KB
|
1,586 lines
|
[
TEXT/LMAN
]
BKGDshow bg
CRDHcredits cd
CRDHsettings cd
CRDHshow cd
INFO
Credits CdSCRP
on mouseUp
play bg sound "Nav.snd"
go cd "Settings Cd"
end mouseUp
shape id 1TAIL
shape id 4TAIL
shape id 3TAIL
bitmap id 2data
^vvz$
---1-
1--1111
,--111111
d6h66
-UY}}
Q('+(+]
../W^
U51111--
-1U1UY
IqMMMMqm
qmqqmq))
U111111---
}YY}YU
YYUYYU1
MM))Mm
111-1-----
}YUYUUUUUUUUU-
-1UUY}
}UYUU1UUU1UU1-
qM(M(
U1---
-1111
th6hL
~}YU1U1UUYYY
}YYYUUU1UY
UU11Y
}YUUU1UUY}
}YU1YUY
UU1UUYY
}UUU1UYY
YUYUY
YYU1UUY
,n^8&
YUU1UY
YYYUYU
b~~~~
ab7Q?!
jaie|
~~f~~z
zR,]]u
yzzzy
^^^Rd
'' $,
uzv^^zzv
>>2l`D|
#/2`
[_S[_\_
+_![_
+h(/(/+,++
^$^hxyx t
<TTThT66H^
%r__9
Z[Z[_
[Z__+
#+___
Y9>=>>=>>V
$$($$$
]'Q$+
''''+
'+R'''+
'($$$
JTAIL
shape id 5TAIL
field id 6data
Version 2.0.0f by Shawn GrunbergerTAIL
field id 7data
Copyright 1997 Fractal Design Corp.
Oracle Media Objects is a trademark of Oracle Corporation, used under license. This program was created in Oracle Media Objects.TAIL
bitmap id 8data
/TAIL
Show CdSCRP
on idle -- this is what drives the show forward/backward
global gTimerStart,gTimerDelay,gImageNum
if the visible of bg bitmap "Pause On" is false -- i.e. if the show is paused, do nothing
then
if the ticks > (gTimerStart + (gTimerDelay * 60) - 120) -- tests if the delay has completed
then
if nextNum() = "end" -- test for end of show
then
exitTest -- exit the show
else
put the ticks into gTimerStart -- resets the delay timer
loadImage
end if
end if
end if
pass idle -- makes sure the Show Wd idle handler executes
end idle
on exitTest
global gFromFrontEnd
if gFromFrontEnd is true then
dismiss with "exit"
else
quit
end if
end exitTest
Load warningdata
Cool art on the way...please wait...TAIL
BackSCRP
on mouseUp
global gPlayForward
play bg sound "Nav.snd"
set the visible of bg bitmap "Forward On" to false
set the visible of bg bitmap "Pause On" to false
set the visible of bg bitmap "Back On" to true
put false into gPlayForward
end mouseUp
PauseSCRP
on mouseUp
play bg sound "Nav.snd"
set the visible of bg bitmap "Back On" to false
set the visible of bg bitmap "Forward On" to false
set the visible of bg bitmap "Pause On" to true
end mouseUp
ForwardSCRP
on mouseUp
global gPlayForward
play bg sound "Nav.snd"
set the visible of bg bitmap "Back On" to false
set the visible of bg bitmap "Pause On" to false
set the visible of bg bitmap "Forward On" to true
put true into gPlayForward
end mouseUp
StopSCRP
on mouseUp
global gFromFrontEnd
play bg sound "Nav.snd"
set the visible of bg bitmap "Stop On" to true
set the visible of bg bitmap "Back On" to false
set the visible of bg bitmap "Pause On" to false
set the visible of bg bitmap "Forward On" to false
if gFromFrontEnd is true then
dismiss with "exit"
else
quit
end if
end mouseUp
SettingsSCRP
on mouseUp
play bg sound "Nav.snd"
go cd "Settings Cd"
end mouseUp
RZZRZ
1~Z~~
RZZRZ
1~Z~~
RZZRZ
~zZZZZ
1~Z~~
~Z~Z~
11ZYZYZZ
~Z~Z~
11ZYZYZZ
1MMMM
bZZRV
~~~Z~
11ZYZYZ
MMqMMM
R6RZY1
1YY}1
`Z1ZQ
$4)b%H
[XP\P
[[[[[XXD[[
)5bc,,
$Pc;`C
NO),jG
}1ZYQ
ZRZRRRR
RZZ~Z
~Z~ZR
1ZZ~Z
Z~ZZZR
Q11Q1YZ1ZZZZRZRRR
R~Z~Z~Z~
1ZQbZ~
~ZZZZRZ
1Q1Q1YZ1ZZZZ
QQqqqqqqqqqqpM
qMqpqqMQR
YYZZRZR
Z~ZZRZ
}ZYZb~~ZZZVZR
ZRZZ~~Z~Z
YZZ111
ZZZZZZ~
Z~ZRR
Z~ZZZZVR
RZZ~Z~ZZR
1ZZ1ZZZQb~
Z~ZZZRRR
1ZYZZ~ZZ~RZVRQ
MUMqqqqq
qqpqqpqqyM$qq
qqqqMM
Z~ZZRZZRM
1ZZYZQ
Z~ZZZRR
b~~ZZR
ZV~ZZ~VR
Z~VZR
RZZZzZR
~Z1R11
~ZZZ~
~b~ZZRRR
~Z~ZRR
QqqMMMQMMMqqqq
qyHqqq
qqqyMq
~~ZRR
ZZZ^~~
Z~ZZRRR
t$CC@C@
t PcC
$$$,,$)
bb~5V
RRRQR
~~ZzZVVR
~~Z~ZZVR
uqqqqq
qqqpq
quqyqqq
qqqqHqMq
qqqqq
RZZZZVZ
~~ZZZVZRR
[;`C@@C
L<<<p
$L<$<
,,$-,
RRRQM1U
~~ZZZZzZRVRR
NQRRQQ
~ZZRZRZRRRR
UUMtqq
qqqHqM
QMqqq
RZ~ZZZV
}YUYX\
~RZRZRZVRRR
,,$N|
}zRQM1
QZ1Z1
~~ZRR
ZVZzZzZVRQ
1Z~^~ZZZRR
qUMUqqqpqqqqHM
MMHM(MLMMHMM
ZR~RZRRQ
|XX|X
|\||YPtMtMtyyttyt
~~ZZRRR
RVRVQ
UMMMM
MMLqpU
yPyPqHMHMLqMHqqq
LL9<=p<
9=$px!
1ZZRRR
qpMqMMMMMMq
qqqHMqHqM
qqqqq
6~bZZZV
qMqpMqqMMML
tqMLMqLqqq
qqqqHqMHM
ZZ~ZZ
y|yy$MLMq
qMqpqqqHMqLM
%|\,!rV
9<M<I<=
ZZRRM
ZZRRM
QqqqqqqqMMqHqqHqqqqqqq
qqqqpM
MMUMq
qqqqyMqHqMMMMMU
Nuv~ZZ~ZZY
~qqpqqq
qqlqqqq
qMLqM
Mqqqq
<<=9<<9=<p
Qx"""
<L$< <
7V*""
9<9L4'
L=$=*f
<L9<p
Wb~b$%
Z~Z~$
,~uV
kKcPc
-!! ,
CCXXX
[[CCX
`KkCXXXG
$999p
),))
$%,),
Y#-Nb))
D||XX
gno1
$%,$,
$%($%
Z~VRRQ
1~^RR
UMMqM
MMyqq
MpMqLMM
PMHqHMtM
UttY|X
Z~ZZRR
1Z1QR
ZZ11Q
MUqMQ
qqMuMQvq
qqqqqM
MpMMHqM
RZZYY1
ZZZRR
ty|}|
XyPqMqHqMqHqM
~ZRRV
Z~ZZR
QZYRQ
bZZR^~
ZZRVR
Mqqqz
qlqqqqqMpMqLqq
MpMqqqHMM
ZZRZR1R1
qqtytY|
MqHqMqHqMP
Q11U11
ZZZRH
-..""
X[[[P
@XXXD
"""""
xZ"".
"."""
"""""
"""*"
x"Q".
RVZVR
RRZ~~
RZR6RRZzZvZ
qMpMpyMqqq
qqqqqq
ZRZ~Z~RR
RRRRRV
[#{# 9
$$@CX[XX
9<==<
cP[XX
$C[X[XP
<$<99<=
,$,,$
)4WW$
~Z~ZVRR
ZZVRQ
RVRRM
QZZQZZYZ
[ZVRR
qqHqMHqq
MMqLM
qMqHqq
Z~ZZR
qqLMq
PPXk@
p9<=9
QeeQ*
c_,$,$
[jkb=
$d hH$(,f
<9<==<pL
tS=Wcj
9<LL<
p<9"e]
[GXG[
fRnW=
=p<<<p
q<p1p
|1($!
$,_J-
"s4.""
Lp9U<
99p9<9
9Y1%
$vc{~
,0OR-- W~b
".*."
99p<pp<
$,K~b
<9=<9L<9
<49p<
<99<Lp<<p
<p<pp<
L9<Lp<=
$),c)
=<Lp<L
<p=<=
9<p<9pp<99
==x<<p
9<Lp<=
$,,,W
~W-,,
p=<L=4L<=
,,-,54)
)9<99<pp
Wc5~Wb
!,$),$!
@dD@<
c)Wbb
".*&V
"a!x.""
,,,$)
WR_$b 9
4q#"`|;
,~5~bb
$$P$$
, ,, -
<p9<L
c~R,)
hh $t
.{"""
"".*V<
//$8h
Yvy$h
4)5~b
9]##ttT
$L99<
jgng_5)55W
**&*.
$,,,
bbcW5K
#t#PP
^*"".
b~b~c
[XcXX
[XcXX
5<5^1
,$,$,
,-,,$
,($<.""
),$,,
&',((<
~55~W
,,$!$
),,,{
OR{V5
$$$
5~b~~~c4
k@Hkk
*8*..
$pp<!
!9x9<
@[C[@@;
99L<Qe
<=L<x
*.*&"""
[;XCX
x$$$$$
[[[X[[
$$$ ,t
[[[X[[
pp<=L
."*4*
c0~b,
Tp4 4<
!)0!-%
r}(T,
kZZ1Z
111ZZ
ZZZRZ
11YQR
1Y}}UyU}PUU
UPYPUyPU
1RYZYZZ
MMHqM
qHqMpqHq
qqqqpq
qqqqU
PUqqq
1Y1ZZ
hh`k;'
kkkkkh
<<99<9<
""t".*
$,%,,
,8$$$0
`K`Kk
)(),
9<!<p
}Y~^~
~Z~VRR
RZZRZZVR
ZYZZR
[~ZVRZR
R1ZZ~^
~VRRR
ZZZYZ
|}Yy|U}yYUUYy}}}
}}t}}tY}Ut
RZZR~VR
~ZZ^Z
~Z~RZRR
b~~VZRR
1MMMqpqy
Uqyqqlqqq
qlqqq
~~Z~ZZRRR
RZzRZRRRRNRRM
~ZZQ1
1RRZRR
~VZVV
QR~ZZQ
ZZZZZZYR
ZVVRRRR
}|yYy}y|}}y}
y}}}}y}}yt}U
~ZZ~ZVRR
~~ZRRQ
MtMyqyty
qqqqMH
ZZ~RVR
bjc~RN
s?#rs>
Q"#""Q
D#"Qu"#sW"
"QPP#
###"##"
[##"?
######
#"#"u
"!xa"
"*"*'
~~~~Q
QZRQ~QQ1U1
VZ~ZVZV
RRRRRR
RZZR~Z
RQRRZR
QYZYR
~ZZzZVR
~~~Ry}yXU|U
}y|}UU
~~ZZVZVRRRR
ZZ~Z~
UqqqqqqvQququM
UtPqMtU|XU5UYX}
~~~-/
P,,$%
-,b!89
_+~~_W,%$
)- $
bxcjn
,,,$
) %$) -
! )
$$b
b0nZ&^n
)-,$,)
$kC[[D
[[XXX[
!- -- ),
!x!5p
() )
{ <!<
$$$#
$tPPP
9X)5)
p<94p
r^vv^R
v^v^]
y$Lh,
~ZZZ(
<99<<9$
!L<=p=
@@CcC
GxXd
9LL<p
<L=<9L==
$<!T,
[;$8$
p<<==<L
,!<L!
-8!<L
!==<L9
pp<<p
<LL=LLL<LL
<LLT9=9
<=<<L<
<LL=<LL<LL<
L9<p<L<
L=<LL
p<<Lp<<p<=<=<9=<
$4P<,
Lp<99
Lp<9<pL
9<$!4
p<99p$9!
$$$$,
!.eee
dDLdh
Qax."
$`@($$
efx""
d```
$h`h,
@x``h@,$
V.*""
SXc[X
Ockc``
"""&"
=p<=94p$
t8\dl
\\addTa
H8l`d
kkhk`S
<%$%<1<
,+D H
p9p<9<p
<p<p9<99
pp<<9p9<p
h` `C
(<<p
[C[[;
cCXX[
U<pL<
i<LL$p9$$$4
`xL@$%
`kP,k$
LD` lHD
`@C[[[
Qafx"
$((4 $<
8<<$(
QYQYz
<8< h,l
88<<<
$$$$(t
X[[X[[
$($,t
;cggP
dyyHt$
<<8<<
[GXXXX
$-%(
888<8
tPWVUVQQ
$O))fn
QQ##rr
9$8&b
@hhH hH h
ussQuQ"
0'RV_
"""""#"
u"#"""
$ (,
RRYZZ
[~zRR
ZRZRZVRR
ZYZ~Z
b~~~ZzV
~ZRZ~~
~ZZZVVR
RZRZRZ~
}t}y|y}yXytU|U5
}}ZZ~
5QyYQU5
~ZZQZZ~
Z~~RRQ
nw4cc~Wj
l8HPP
R1ZZZZ~Z
R1ZZZZZZRZ
YZZZZZZZ
}}YY1UYyXUUyP}yY|yYU
5YPU}
}t}}ty}Q
fjfffj
!)(!
,8<88888
`@HkH
(-
878<8
kXX[X
! !%!(
<<88<
!!,))(
ZZZ~Z
Z~ZZZ
Z~~ZRQ
PyUXUtU
UY15f
UUPyXUU|y}y}
b~ZZ~
11Z1Z
#$$$$$
P[X[[G
88<<<<
[X[[[
( ))( !(
88<<<<
[X[[X
[[XX[
[[XX[
[[XX[
)-(!---,-
88<<8
) !( )
,- !-
88<<88
88<<<<<888<
,),--
<<88<8
<888<88
8<<88
ZYZZYZ
~ZZQZ
ZYZZYZ
~ZZQZ
YtYyUYtUPUPU}PUtU
}}}U}y|y}}
ZYZZYZ
~ZZQZ
[[P[X
[[P[X
---,)
(-,-!
<8<8<<
8<<8<
~ZZZRZ
RZ1RZRR
~ZZZRZ
ZRZRR
1yyXyUPU
UPyUtYtUY
y}Yy|}y}
ZRZRR
}1ZYZRZZRRZ
RZZZ~b~ZZ
~b~ZZRZR
11YZZ1ZZRRZ
RZZZ~b~ZZ
~b~ZZRZR
1QYZYZZRZRZ
UYy}P}UYUPUYtYy}|y
y}y}|y
YZZZRZ
RZZZ~b~ZZ
1RYZZ
Z~ZZRZ
}ZYZ~^~ZZZZRRNQ
R1RZ~Z~ZZR
1ZYZ1
QZZZ1ZZZZ
1ZYZZ~Z~ZZZVRRNQ
R1RZ~Z~ZZR
1ZYZ1
QZZZ1ZZZZ
YZZ~Z~ZZZVRRNQ
M}yXy}y|yPUYtYyP}yP}
|y}|}y}
ZZ~Z~ZZ~VVRM
R1RZ~Z~ZZR
1ZYZ1
QZZQZYZZZ~
Z~ZZZRR
~~RVR
RZVZRZv
~^ZZZ~
ZZ~RZR
~~Z~ZR
RZVZRZv
~^ZZZ~
ZZ~RZRRR
11ZYZ
~~Z~ZR
U}y}|U}t}UtYyXy}}}y}
}t}y|}}
~~ZZZR
RZVZRZv
^ZZZ~
Z~ZVZR
$!- )!
Z~ZZ~VR
Z~ZZ~VR
|yyYtYyXU|}y}y}
}}t}y}
Z~ZZ~RV
Z~ZZVZRR
Z~ZZVZRR
~V~RQ
y}U}tYyPU|UyYt}}}y
}y}}|}y}}}55
~Z~ZZV~
~Z~ZZRZRZRR
~Z~ZZRZRZRR
}}t}U}PU}PUtYt}y|y}}
ZZ~ZZZVZZRR
~ZZZVRZRRRR
R1Z~Z
~ZZZVRZRRRR
}}}y}t}tU}PyUUtYU|y}}|y}
Z~ZZZRVZRRR
--!!(
<<<88<
<<8<8
<8<<<
) (!)
$4"HG
( !(-
8<<8<
<<<<<
UXyPU}PU}PyPUUPyUXyPYU
(-))()!
$(X[G
#PP$(X[
b~VRQ
ZYR1R
RZZZZZZ
ZZZYZ
~~~RQ
b~VRR
PYPyYt}y|yU}PUPYPU
ZZZYR
ZZRZZQ
~Z~RRQ
RZZZZZQZ1Z1Y
~Z~QQ
ZRZZR
QZZZZY
Z1YZQY
RZ~~Z~~RQ
~ZZZRZ
UPyYyYtYyY}tU|UUUPUPU}U
}}U11
~ZZZRZ
RZZZZR1QZ1YR1Q
ZRZ~~~~QQ
}~ZZZRZ
RZZz~R
~~ZZZRR
RZZRQ
RZV~ZR1
Z~ZZVRR
UPyXy}tYtyYtUXPUUPYyt}
ZZR1M
b~ZZRVR
Z~RR1
RZZV~R
Z~~VR
~~ZQU
UYPU|UUy}P}U|UUUP}yP}
}t}}}}5
~~~~V
}ZZV~~
~Z~QM
QZ^~Y
~Z~V~~
~~Z~Z~~
U}PU|yXy}P}UPPYUP}}y|}}
}}t}}y
~Z~Z~~
~~Z~RQ
,)!!,--
k@CH[[
)),-
PKC@[
-- F r a c t a l S h o w 2
-- By Shawn Grunberger
-- Scripts, Artwork, and Interface Copyright 1996 Fractal Design Corp. All rights reserved.
-- Version history:
-- 1.0 - shipping on Painter 4.0/Win U.S. CD-ROM
-- 2.0.0c - added navigation buttons; redesigned options and credits sections; added support for
-- multiple logos; added two-line text captions; shipping on Painter 4.0/Win German, French,
-- Japanese.
-- 2.0.0e - added support for launching FractalShow from the FDC Shell; FS now checks for certain
-- preferences before initializing them; exits differently depending on if FDC Shell is the parent.
-- Also changed main image bitmap and logo bitmap to colorDepth = "thousands". Shipping on
-- FDC Demo CD v2 U.S.
-- 2.0.0f - Shipping on FDC Demo CD v3 with only minor changes.
-- Globals:
---- kOrigVolume - the system volume level when FS is started
---- kMediaPath - the full path to the Media folder
---- kPD - the path delimiter (":" for Mac; "\" for Win)
---- kImageType - the 3- or 4-character code to identify the image filetype (PIC, BMP, PICT, etc.)
---- kImageList - single-line list of all image names in Media folder
---- kLogoList - single-line list of logo file names to be used for each slideshow image
---- kMusicList - single-line list of all sound files (type AIFF) in Media folder
---- gImageNum - the number of the currently displayed image (at start of show: 0)
---- gLoopForever - true/false if show is to loop
---- gPlayForward - true/false if the show is set to play forward
---- gTimerStart - the start time (in ticks) of the current wait period
---- gTimerDelay - the inter-image delay (in seconds)
---- gMusicNum - the number of the currently playing sound file (at start of show: 0)
---- gMusicOn - true/false if the music is switched on
---- gMusicVolume - passed from the FDC shell; the volume for the background music
---- gFromFrontEnd - true/false if the slideshow was started from the FDC shell
---- gBufferValue - the preferred music bufferSize
---- gOrigSystemVolumeFS - the original system volume when FS was launched
-- Functions that should be localized:
---- warnNoMedia() - used when FS can't find the Media folder, or it has no images
---- warnMemory() - used when SuperCard generates an "out of memory" error
-- Notes:
---- 1. See the script of cd "Show Cd" for the idle handler, which drives the show cycle.
---- 2. The only font used is 12pt Helvetica, bold and normal styles.
---- 3. For cross-platform compatibility, the Windows 8-bit system palette is used here.
on openStack
global kPD,kImageType,gImageNum,gTimerDelay,gTimerStart,gLoopForever
global gPlayForward,gMusicNum,gMusicOn,gMusicVolume,gBufferValue,gOrigSystemVolumeFS
set the windowColor to black
set the fullScreen to true
set the centeredWindow to true
hide menubar
hide toolbar
hide scrollbars
hide titlebar
sizeWindow
-- set the idleTicks to 30 -- the minimum interval between system idle messages
-- setup platform-specific globals:
if the platform = "Macintosh" then
put ":" into kPD
put "PICT" into kImageType
else
put "\" into kPD
put "BMP" into kImageType
end if
-- setup other globals:
put 0 into gImageNum
put 0 into gTimerStart
put 0 into gMusicNum
put true into gPlayForward
-- the following can be passed from the FDC shell stack:
if gLoopForever is empty then put true into gLoopForever
if gTimerDelay is empty then put 5 into gTimerDelay
if gMusicOn is empty then put true into gMusicOn
if gMusicVolume is empty then
--set the playVolume of bg sound "Music Object" to 50
else
set the playVolume of bg sound "Music Object" to gMusicVolume
end if
put the systemVolume into gOrigSystemVolumeFS
set the systemVolume to 50
-- for testing the bufferSize property:
--if (the optionKey is down) then
--ask "Enter a music buffer value (sec):" with "0"
--put it into gBufferValue
--end if
if gBufferValue is empty then put 15 into gBufferValue
buildPath -- build Media path
buildImageList -- build image list
buildLogoList -- build logo list and remove logo file names from image list
if gMusicOn is true then buildMusicList -- build sound file list
set the script of bg bitmap "Logo Frame A" to "none"
set the visible of bg bitmap "Back On" of cd "Show Cd" to false
set the visible of bg bitmap "Pause On" of cd "Show Cd" to false
set the visible of bg bitmap "Forward On" of cd "Show Cd" to true
set the visible of bg bitmap "Stop On" of cd "Show Cd" to false
if gMusicOn is true and kMusicList is not empty then playMusic -- start the first music file
loadImage -- loads the first image
end openStack
on sizeWindow
global kMainWidth,kMainHeight,kScreenWide,kScreenHigh
put 640 into kMainWidth
put 480 into kMainHeight
-- set the width to kMainWidth
-- set the height to kMainHeight
put (item 3 of the screenRect) into kScreenWide
put (item 4 of the screenRect) into kScreenHigh
-- put round((kScreenWide - kMainWidth) / 2) into tMainLeft
-- put round((kScreenHigh - kMainHeight) / 2) into tMainTop
-- set the topLeft to tMainLeft,tMainTop
end sizeWindow
on idle -- checks to see if the music file is finished; calls next music file if needed
global kMusicList,gMusicOn
if kMusicList is empty or gMusicOn is false then exit idle -- no music, no worries
if (the isPlaying of bg sound "Music Object" is false) then playMusic
-- used in testing the buffersize property:
--if (the optionKey is down) then
--answer "Music buffer set to" && (the bufferSize of bg sound "Music Object") && "sec."
--end if
end idle
on buildPath -- constructs the path to the Media folder
global kMediaPath,kPD
put stackPath() & "MEDIA" & kPD into kMediaPath
end buildPath
on buildImageList -- constructs lists of available images
global kImageList,kImageType,gFromFrontEnd
put stackPath() & "MEDIA" into tMediaPath
put the list of files of type kImageType in tMediaPath into kImageList
if kImageList is "Volume does not exist." or kImageList is empty
then -- close the slideshow
answer warnNoMedia()
if gFromFrontEnd is true then
dismiss with "exit"
else
quit
end if
end if
end buildImageList
on buildLogoList -- removes the logo images from kImageList; builds the logo list
global kImageList,kLogoList
put (number of lines in kImageList) into j
put "none" into tCurrentLogo
repeat with i = 1 to j
if line i of kImageList contains "LOGO"
then
put line i of kImageList into tCurrentLogo
else
put (line i of kImageList) & return after tNewImageList
put tCurrentLogo & return after kLogoList
end if
end repeat
-- save the updated image list:
put tNewImageList into kImageList
end buildLogoList
on buildMusicList -- constructs lists of available music/sound files
global kMediaPath,kMusicList
if the platform = "Macintosh" then put "AIFF" into tMusicType else put "AIF" into tMusicType
put the list of files of type tMusicType in kMediaPath into kMusicList
end buildMusicList
on loadImage -- loads and positions the next image and caption text; displays them
global kMediaPath,kImageList,gImageNum,kMainWidth,kMainHeight
if nextNum() = "end" then exit loadImage -- skips loading if there are no more images
-- build next image name:
put line nextNum() of kImageList into tNextImage
-- read in the next caption text:
put readTextFile( (kMediaPath & stripExt(tNextImage) & ".TXT") , 2 ) into tNextTextData
lock screen
-- load in and format the image, logo (if necessary), and text data:
-- get hasMemory(3000 * 1024) -- tries to free memory
import kMediaPath & tNextImage into bg bitmap "Frame A"
set the loc of bg bitmap "Frame A" to round(kMainWidth/2),round(kMainHeight/2)
put the top of bg bitmap "Frame A" into tTopY
set the top of bg bitmap "Frame A" to (tTopY - 20)
loadLogo
formatText tNextTextData
unlock screen with visual effect wipe right in 20 ticks
put nextNum() into gImageNum -- record what is now the current image number
end loadImage
on formatText tNextTextData
-- insert the text:
if (number of lines in tNextTextData) = 1
then
put empty into bg field "Text Frame A1"
put line 1 of tNextTextData into bg field "Text Frame A2"
else
put line 1 of tNextTextData into bg field "Text Frame A1"
put line 2 of tNextTextData into bg field "Text Frame A2"
end if
-- format the text:
-- set the textColor of tTextObjLocater to 1
-- set the textFont of tTextObjLocater to "Helvetica"
-- set the textSize of tTextObjLocater to 12
-- set the textStyle of tTextObjLocater to bold
-- remove the bold style from the second line:
-- set the textStyle of ("bg grc" && quote & tTextObjName & 2 & quote) to empty
end formatText
on loadLogo -- loads the next logo image, if necessary
global kMediaPath,kLogoList
put (line nextNum() of kLogoList) into tNextLogo
-- check to see if the logo image has previously been loaded here; if so, we're done!
if (line 1 of the script of bg bitmap "Logo Frame A") = tNextLogo then exit loadLogo -- using the script as a custom property
-- load the new logo image:
if tNextLogo = "none" -- make sure there is a logo image present
then
put empty into bg bitmap "Logo Frame A"
else
import kMediaPath & tNextLogo into bg bitmap "Logo Frame A"
end if
-- record the new logo name so we don't have to reload it in the future:
set the script of bg bitmap "Logo Frame A" to tNextLogo -- using the script as a custom property
end loadLogo
function nextNum
-- returns the next image number based on the loop state (forever/once) and the play direction
-- this function needed to be reformatted in Oracle because OMO doesn't handle nested if-then's well
global kImageList,gImageNum,gLoopForever,gPlayForward
if (gPlayForward = true) and (gImageNum = (number of lines in kImageList)) and (gLoopForever = true)
then return "1"
if (gPlayForward = true) and (gImageNum = (number of lines in kImageList)) and (gLoopForever = false)
then return "end"
if (gPlayForward = true) and (gImageNum < (number of lines in kImageList))
then return gImageNum + 1
if (gPlayForward = false) and (gImageNum < 2) and (gLoopForever = true)
then return (number of lines in kImageList)
if (gPlayForward = false) and (gImageNum < 2) and (gLoopForever = false)
then return "end"
if (gPlayForward = false) and (gImageNum >= 2)
then return gImageNum - 1
end nextNum
on playMusic -- plays the next sound file in kMusicList
global kMediaPath,kMusicList,gMusicNum,gBufferValue
if kMusicList is empty then exit playMusic
--> Increment the music number and reset to 1 if all sound files have been played:
add 1 to gMusicNum
if gMusicNum > (number of lines in kMusicList) then put 1 into gMusicNum
--> Play the music:
set the soundFile of bg sound "Music Object" to kMediaPath & (line gMusicNum of kMusicList)
set the bufferSize of bg sound "Music Object" to gBufferValue
play bg sound "Music Object"
end playMusic
function readTextFile tFileName,tLineCount
-- returns first [tLineCount] lines of the text file whose full pathname has been passed in
if tFileName is empty then return "error: no text file name specified"
-- if line 2 of FileExists(tFileName) = false then return empty
import tFileName into bg field "Raw Text"
if tLineCount > 0 -- i.e. we've been passed a valid number
then
repeat with i = 1 to (tLineCount)
put (line i of bg field "Raw Text") after tClippedText
if i < tLineCount then put return after tClippedText
end repeat
else -- i.e. we haven't been passed a valid number, so just return the whole shebang
put bg field "Raw Text" into tClippedText
end if
put empty into bg field "Raw Text"
return tClippedText
end readTextFile
function stripExt tFileName -- removes the ".EXT" off any DOS-style 8.3 filename; no error check
repeat 4 times
put empty into last char of tFileName
end repeat
return tFileName
end stripExt
function testMemory tDestinationObj
-- tries to free memory
-- get hasMemory(3000 * 1024) -- tries to free memory
-- -- if not enough memory, unload the hidden frames temporarily:
-- if hasMemory(tDestinationObj) is false
-- then
-- if the visible of bg grc "Frame A" is true then wipeHiddenB else wipeHiddenA
-- get hasMemory(3000 * 1024) -- tries to free memory
-- end if
end testMemory
on wipeHiddenA -- removes all contents from hidden A frames
put empty into bg bitmap "Frame A"
put empty into bg bitmap "Logo Frame A"
set the script of bg bitmap "Logo Frame A" to empty
put empty into bg field "Text Frame A1"
put empty into bg field "Text Frame A2"
end wipeHiddenA
on fadeMusic --> This loops the speaker volume down to zero and stops the sound:
put the playVolume of bg sound "Music Object" into tOrigVolume
put round((the playVolume of bg sound "Music Object") * 0.1) into tDecrement
put the playVolume of bg sound "Music Object" into tLowerVolume
repeat until tLowerVolume < 2 -- stops the fade down if the volume is 0 or 1
set the playVolume of bg sound "Music Object" to tLowerVolume
put ((the playVolume of bg sound "Music Object") - tDecrement) into tLowerVolume
wait 20 ticks
end repeat
stop bg sound "Music Object"
set the playVolume of bg sound "Music Object" to tOrigVolume
end fadeMusic
-------------------------------------------
function warnNoMedia
return "No images found, or Media folder not present! Exiting..."
end warnNoMedia
function warnMemory
return "Sorry - this program is out of memory."
end warnMemory
-------------------------------------------
on closeStack
global gMusicOn,gMusicVolume,gOrigSystemVolumeFS
lock screen
wipeHiddenA
set the visible of bg bitmap "Back On" of cd "Show Cd" to false
set the visible of bg bitmap "Pause On" of cd "Show Cd" to false
set the visible of bg bitmap "Forward On" of cd "Show Cd" to false
set the visible of bg bitmap "Stop On" of cd "Show Cd" to false
if gMusicOn is true then fadeMusic
put (the playVolume of bg sound "Music Object") into gMusicVolume
set the bufferSize of bg sound "Music Object" to 1
set the soundFile of bg sound "Music Object" to empty
if gOrigSystemVolumeFS is not empty
then
set the systemVolume to gOrigSystemVolumeFS
end if
unlock screen
-- emptyCache
compact
end closeStack
PFONT
8514OEM
ABADI MT CONDENSED LIGHT
ADLIBFONT
ALGERIAN
ARIAL
ARIAL BLACK
ARIAL MT CONDENSED LIGHT
ARIAL NARROW
ARIAL ROUNDED MT BOLDB
ATHENS
AVANT GARDE
B COURIER BOLD
B FUTURA BOLD8
B HELVETICA BOLD
B TIMES BOLD
BAUHAUS 93
BI COURIER BOLDOBLIQUE
BI HELVETICA BOLDOBLIQUE
BI TIMES BOLDITALIC
BO FUTURA BOLDOBLIQUE
BOCARATONICG
BOCARATONICGSOLID
BODONI MT ULTRA BOLD
BOOK ANTIQUA
BOOKMAN
BOOKMAN OLD STYLE
BOOKMAN OLD STYLE BOLD
BRAGGADOCIO
BRITANNIC BOLD
BRUSH SCRIPT MT
C FUTURA CONDENSED
CAIROO
CALISTO MT
CB FUTURA CONDENSEDBOLD
CBO FUTURA CONDBOLDOBLIQUE
CENTURY GOTHIC
CENTURY SCHOOLBOOK
CHICAGO
CL FUTURA CONDENSEDLIGHT
CLO FUTURA CONDLIGHTOBLIQUE
CO FUTURA CONDENSEDOBLIQUE
COLONNA MTk
COMIC SANS MS
COPPERPLATE GOTHIC BOLD
COPPERPLATE GOTHIC LIGHT
COURIER
COURIER NEW
CXB FUTURA CONDEXTRABOLD
CXBO FUTURA CONDEXTRABOLDOBLIQU
DECOTURAICG
DECOTURAICGINLINE
DESDEMONA
DINGBATS
FAJITAICGMILD
FARFELICGFELTTIP
FARFELICGPENCIL
FIXEDSYS
FOOTLIGHT MT LIGHTZ
FOOTNOTE
FUTURA
FUTURA BDCN BT
FUTURA BK BT
FUTURA BOOK
FUTURA HV BT
FUTURA LT BT
FUTURA LTCN BT
FUTURA MD BT
FUTURA MDCN BT
FUTURA XBLK BT
FUTURA XBLKCN BT
FUTURA XBLKCNIT BT
FUTURA XBLKIT BT
FUTURABLACK BT
FUTURABOLD
FUTURABOOK
FUTURADEMIBOLD
FUTURAEXTRABOLD
FUTURALIGHT
FUTURAMEDIUM8
GARAMOND
GENEVA
GENEVA
GEORGIA
GILL SANS CONDENSED BOLD
H AVENIR HEAVY
HAETTENSCHWEILER
HELVETICA
I COURIER OBLIQUE
I HELVETICA OBLIQUE
I TIMES ITALIC
IMPACT
KINO MT
KLANG MT
L AVENIR LIGHT
LO AVENIR LIGHTOBLIQUE
LONDON
LOS ANGELES
LUCIDA CONSOLE
LUCIDA HANDWRITING
LUCIDA SANS
LUCIDA SANS UNICODE
MARLETT
MATURA MT SCRIPT CAPITALS
MCGULLY
MINI PICS L'IL EDIBLES
MINI PICS L'IL FOLKS
MINI PICS L'IL STUFF
MINIPICSARTJAM|
MINIPICSCLASSIC
MINIPICSLILEDIBLES
MINIPICSLILFACES
MINIPICSLILFOLKS
MINIPICSLILSTUFF
MISTERFRISKY
MISTRAL
MOBILE
MODERN
MONACO
MS LINEDRAW
MS SERIF
MT EXTRA
N HELVETICA NARROW
NEW BEROLINA MT
NEW CENTURY SCHLBK
NEW YORK6
NEWS GOTHIC MT
O FUTURA BOOKOBLIQUE
O FUTURA OBLIQUE
OCR A EXTENDED
OLD ENGLISH TEXT MT
PAISLEYICGTWO
PALATINO
PALEX
PLAYBILL
R AVENIR ROMAN
RELIEFFONT
SAN FRANCISCO
SCRIPT MT BOLD
SMALL FONTS
STAMPFONT
STENCIL
SYMBOLB
TIMES
TIMES NEW ROMAN
TORONTO
TREBUCHET MSY
UNCLESTINKY
VENICE
VERDANA
VIVALDI
WIDE LATIN
WINGDINGS
ZAPF CHANCERY:
ZAPF DINGBATS
Settings CdSCRP
on openCard
global gLoopForever,gMusicOn
setupVolumeSlider
setupMusicToggle(gMusicOn)
setupDelaySlider
setupLoopToggle(gLoopForever)
end openCard
on setupMusicToggle tMusicOn -- sets up the music radio buttons
set the hilite of cd btn "Music On" to tMusicOn
set the hilite of cd btn "Music Off" to not(tMusicOn)
end setupMusicToggle
on setupVolumeSlider
-- sets up and calls the moveSlider function to make the slider reflect the current volume
put round((the playVolume of bg sound "Music Object") / 10) into tCurrVolume
put ("cd bmp" && quote & "Volume Knob" & quote) into tKnobName
put ("cd shape" && quote & "Volume Slider" & quote) into tSliderName
-- move the slider to the correct position:
get moveSlider(tKnobName,tSliderName,10,tCurrVolume)
-- update the numerical readout:
put tCurrVolume into cd fld "Volume Readout"
end setupVolumeSlider
on doVolumeSlider
-- sets up and calls the moveSlider function when the slider is dragged/clicked
put ("cd bmp" && quote & "Volume Knob" & quote) into tKnobName
put ("cd shape" && quote & "Volume Slider" & quote) into tSliderName
-- move the slider to the mouse position; get the new volume units
get moveSlider(tKnobName,tSliderName,10)
put it into tNewVolume
-- update the system volume:
set the playVolume of bg sound "Music Object" to (tNewVolume * 10)
-- update the numerical readout:
put tNewVolume into cd fld "Volume Readout"
end doVolumeSlider
on setupLoopToggle tLoopForever -- sets up the loop radio buttons
set the hilite of cd btn "Loop Forever" to tLoopForever
set the hilite of cd btn "Loop Once" to not(tLoopForever)
end setupLoopToggle
on setupDelaySlider
-- sets up and calls the moveSlider function to make the slider reflect the current delay
global gTimerDelay
put gTimerDelay into tDelaySec
put ("cd bitmap" && quote & "Delay Knob" & quote) into tKnobName
put ("cd shape" && quote & "Delay Slider" & quote) into tSliderName
-- convert from delay seconds to delay units (reverse of next handler)
if tDelaySec = 0 then put 1 into tDelaySec
put round(sqrt(2 * tDelaySec)) into tDelayUnits
-- move the slider to the correct position:
get moveSlider(tKnobName,tSliderName,7,tDelayUnits)
-- update the numerical readout:
put gTimerDelay into cd fld "Delay Readout"
end setupDelaySlider
on doDelaySlider
-- sets up and calls the moveSlider function when the slider is dragged/clicked
global gTimerDelay
put ("cd bitmap" && quote & "Delay Knob" & quote) into tKnobName
put ("cd shape" && quote & "Delay Slider" & quote) into tSliderName
-- move the slider to the mouse position; get the new delay units
get moveSlider(tKnobName,tSliderName,7)
put it into tDelayUnits
-- convert from delay units to delay seconds (a hyperbolic algorithm):
put round((tDelayUnits * tDelayUnits) / 2) into gTimerDelay
-- update the numerical readout:
put gTimerDelay into cd fld "Delay Readout"
end doDelaySlider
function moveSlider tKnobName,tSliderName,tStepNum,tPassedUnits
-- a reusable function that easily manages sliders; needs only two graphics
-- tKnobName: the name of the knob graphic (e.g. bg grc "Knob")
-- tSliderName: the name of the slider graphic (e.g. bg grc "Slider")
-- tStepNum: the number of "steps" or positions you want in the slider
-- tPassedUnits: the step value you want to set the knob to; used to set up the slider w/o mouse
-- note: the function returns the knob position (in step units) when the mouse is released;
---- the first position is 1
put item 2 of the loc of tSliderName into tCoordV -- get the vertical knob coord
put the left of tSliderName into tLeftBoundary
put round((the width of tSliderName) / (tStepNum - 1)) into tIntervalPixels -- the step spacing
put true into tFirstLoopThrough -- so we can make sure the loop executes at least once
repeat while ((the mouse is down) and (tPassedUnits is empty)) or (tFirstLoopThrough = true)
put false into tFirstLoopThrough
if tPassedUnits is empty -- we decide if we're setting up the slider or keying off the mouse
then
put round((the mouseH - tLeftBoundary) / tIntervalPixels) into tIntervalUnits
else
put tPassedUnits - 1 into tIntervalUnits
end if
-- make sure we don't overshoot the slider endpoints:
if tIntervalUnits < 0 then put 0 into tIntervalUnits
if tIntervalUnits > (tStepNum - 1) then put (tStepNum -1) into tIntervalUnits
put tIntervalUnits * tIntervalPixels + tLeftBoundary into tCoordH -- the horiz knob coord
set the loc of tKnobName to tCoordH,tCoordV -- move the knob
end repeat
return tIntervalUnits + 1
end moveSlider
shape id 1SCRP
on mouseUp
end mouseUp
field id 31data
+TAIL
field id 30data
-TAIL
field id 28data
+TAIL
field id 29data
-TAIL
bitmap id 27data
pSf[$
)5555
#TAIL
Delay SliderSCRP
on mouseDown
doDelaySlider
end mouseDown
bitmap id 2SCRP
on mouseUp
play bg sound "Nav.snd"
go cd "Show Cd"
end mouseUp
TAIL
bitmap id 3data
$TAIL
bitmap id 4SCRP
on mouseUp
play bg sound "Nav.snd"
go cd "Credits Cd"
end mouseUp
#TAIL
shape id 8SCRP
on mouseDown
doDelaySlider
end mouseDown
Delay Readoutdata
5TAIL
Delay KnobSCRP
on mouseDown
doDelaySlider
end mouseDown
aNAME
shape id 14TAIL
Loop ForeverSCRP
on mouseUp
global gLoopForever
set the hilite of me to true
set the hilite of cd btn "Loop Once" to false
put true into gLoopForever
end mouseUp
Loop OnceSCRP
on mouseUp
global gLoopForever
set the hilite of me to true
set the hilite of cd btn "Loop Forever" to false
put false into gLoopForever
end mouseUp
tNAME
shape id 15TAIL
tNAME
shape id 16TAIL
tNAME
shape id 17TAIL
tNAME
shape id 18TAIL
tNAME
shape id 19TAIL
tNAME
shape id 20TAIL
Music OnSCRP
on mouseUp
global gMusicOn
if the hilite of me is false
then
set the hilite of me to true
set the hilite of cd button "Music Off" to false
put true into gMusicOn
playMusic
end if
end mouseUp
Music OffSCRP
on mouseUp
global gMusicOn
set the hilite of me to true
set the hilite of cd button "Music On" to false
put false into gMusicOn
stop bg sound "Music Object"
end mouseUp
Volume SliderSCRP
on mouseDown
doVolumeSlider
end mouseDown
shape id 23SCRP
on mouseDown
doDelaySlider
end mouseDown
Volume KnobSCRP
on mouseDown
doVolumeSlider
end mouseDown
Volume Readoutdata
5TAIL
Show Bgbkgd
eNAME
Black FrameEXTI
INFO
1JNJNJNa
<<<<<
<X<XX8XX
llllllll
"TAIL
Frame AEXTI
Logo Frame AEXTI
Text Frame A1EXTI
Text Frame A2EXTI
Music ObjectEXTI
Raw TextEXTI
Back OnEXTI
"TAIL
Forward OnEXTI
"TAIL
Stop OnEXTI
!TAIL
Nav.sndEXTI
AIFFCOMM
Pause OnSCRP
on mouseUp
play bg sound "Nav.snd"
set the visible of bg bitmap "Back On" to false
set the visible of bg bitmap "Forward On" to false
set the visible of bg bitmap "Pause On" to true
end mouseUp
55555555
55555555
"TAIL